<?php

/**
 * Ez generálja a versenynaptár egy havi oldalát.
 *
 * @author poli
 */
class TournamentMonthPageGenerator extends BaseContentGenerator {

	public function TournamentMonthPageGenerator($context, $generatorId, $iniParams = null, $skipIniParamsUpdateFromRequest = false) {
		parent::BaseContentGenerator("TournamentMonthPage", $context, $generatorId, $iniParams, $skipIniParamsUpdateFromRequest);
	}

	/**
	 * Mi most használjuk az iniParams tömbünket nagyon is! Úhygogy nosza, dolgozzuk fel
	 * belőle a dolgokat!
	 *
	 * @see site/contentGenerators/BaseContentGenerator#processSavedIniParams()
	 */
	public function processSavedIniParams($savedIniParams) {
		$this->_iniParams = $savedIniParams;
	}

	/**
	 * Hasonló a page enterPage metódusához. Akkor kerül meghívásra, amikor a
	 * content generátor képernyőre kerül először. Azaz: az előző kérésre adott
	 * válaszban még nem ő generálta a content-et
	 *
	 * Itt meg lehet valósítani mindenféle inicializálást, aminek csak egyszer kell
	 * lefutni amíg a generátor aktív.
	 *
	 */
	public function enterContentGenerator() {
		parent::enterContentGenerator();
	}

	/**
	 * Hasonló a page leavePage metódusához. Akkor kerül meghívásra amikor a user
	 * elhagyja a content generátort. Azaz eddig ő generálta a válaszokba a tartalmat, de
	 * most más valaki generálja.
	 *
	 * Itt meg lehet valósítani mindenféle cleanup dolgokat a kilépés kapcsán.
	 */
	public function leaveContentGenerator() {
		parent::leaveContentGenerator();
	}

	public function serveRequest() {
		parent::serveRequest();

		$response = null;

		$year = FunctionLibrary::getGetValue('year');
		$month = FunctionLibrary::getGetValue('month');

		$tpl = BaseContentGenerator::loadTemplateFile("tournament_month.tpl.html");
		TextHandler::insertTextsIntoTemplate($tpl);
		$tpl->setVariable('app_root_url', APP_ROOT_URL);

		if(!is_null($year) && !is_null($month)) {
			$title = TextHandler::getParsedText('comp_month', array('date' => $year.'. '.TextHandler::getText('mon_'.$month)));
			SiteBase::setPageTitle($title);
			$tpl->setVariable('title', $title);
			$tournaments = SiteDBHelper::getTournamentsByMonth($year, $month, TextHandler::getCurrentLangcode());
			foreach ($tournaments as $tournament) {
				$tpl->setCurrentBlock('tournament');
				$tpl->setVariable('tournamentLink', HydraLinkProvider::getLink('tournamentLink', array('id' => $tournament['id'])));
				$tpl->setVariable('name', $tournament['name']);
				$tpl->parseCurrentBlock();
			}
		}

		return $tpl->get();
	}

}
?>